/*
 * AdpAPI.h
 *
 *  Created on: 30/11/2013
 *      Author: gonzalo
 */

#ifndef ADPAPI_H_
#define ADPAPI_H_

#include "../application/AdminKeys.h"
#include "../logger/logger.h"
#include "../common/StringUtils.h"
#include "../common/Random.h"
#include "../middleware/MiddlewareCommon.h"
#include "../middleware/CommunicationAGV.h"
#include "../middleware/CommunicationRobot5.h"
#include "../middleware/CommunicationADP.h"
#include "../application/MapaPiezasProducto.h"

class AdpAPI {
public:
	AdpAPI(std::string hostName);
	ProductoCantidad obtenerProductoAProducir();
	void pedirCanastos(PedidoPiezas piezas);
	void enviarAProducir(TipoProducto producto, int cantidad);
	bool sePuedeEnviarAProducir();
	virtual ~AdpAPI();
private:
	middleware::CommunicationAGV *comAGVIzq;
	middleware::CommunicationAGV *comAGVMed;
	middleware::CommunicationAGV *comAGVDer;
	middleware::CommunicationRobot5 * comRobot5;
	middleware::CommunicationADP * m_ComADP;
	//middleware::Communication vendedores
};

#endif /* ADPAPI_H_ */
